﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 创建者：王明亮
 * 创建时间：2023/8/29 14:38:17
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace CreateType._04.建造者模式
{
    /// <summary>
    /// 抽象建造者，它定义了要创建什么部件和最后创建的结果，但是不是组装的的类型
    /// </summary>
    public abstract class Builder
    {
        /// <summary>
        /// 创建车门
        /// </summary>
        public abstract void BuildCarDoor();
        /// <summary>
        /// 创建车轮
        /// </summary>
        public abstract void BuildCarWheel();
        /// <summary>
        /// 创建车引擎
        /// </summary>
        public abstract void BuildCarEngine();

        /*
         * 当然还有部件:
         * 大灯
         * 地盘
         * ....
         * ....
         */

        /// <summary>
        /// 获得组装完成的汽车
        /// </summary>
        /// <returns></returns>
        public abstract Car GetCar();
    }
}
